/**
 * 运动员公示页面类型定义
 */

import type { AthleteInfo, Gender, AuditState } from '@/api/athlete/types'
import type { AthleteViewModel } from '@/api/athlete/transformer'

/**
 * 统计卡片数据
 */
export interface StatisticCard {
	id: string
	title: string
	value: number
	icon: string
}

/**
 * 后端返回的公示数据
 */
export interface PublicityData {
	age?: number
	athleteName?: string
	bestResults?: string
	/** 变更后Id */
	changeAfterId?: number
	/** 变更前Id */
	changeBeforeId?: number
	idNumber?: string
	personPhoto?: number
	registerNumber?: string
	/** 注册单位 */
	registerOrgId?: number
	/** 注册项目 */
	registerProject?: number
	/** yyyy-MM-dd */
	registerTime?: string
	registerYear?: number
	sex?: number
	[property: string]: any
}

/**
 * 后端公示信息响应类型
 */
export interface PublicityInfoResponse {
	/** 当月可公示运动员数 */
	publicityNumber?: number
	/** 涉及项目数/项目变更数 */
	projectNumber?: number
	/** 参与院校机构数/机构变更数 */
	orgNumber?: number
	/** 国家一级运动员数 */
	firstAthleteNumber?: number
	/** 展示数据 */
	publicityDataList?: PublicityData[]
	[property: string]: any
}

/**
 * 搜索条件
 */
export interface SearchParams {
	/** 公示类型 1-首次注册 2-单位变更 3-项目变更 */
	publicityType?: number
	/** 姓名 */
	athleteName?: string
	/** 公示月份 (格式: YYYY-MM) - 前端显示用 */
	publicityTime?: string
	/** 性别 (0=男, 1=女) */
	sex?: number
	/** 注册项目 */
	registerProject?: number
	/** 注册单位级联值 */
	registerOrgCascade?: [string, string]
}

/**
 * 后端接口查询参数
 */
export interface PublicityQueryParams {
	/** 公示年月 yyyyMM */
	publicityTime?: string
	/** 公示类型 1-首次注册 2-单位变更 3-项目变更 */
	publicityType?: number
	/** 性别 */
	sex?: number
	/** 单位ID */
	orgId?: number
	/** 项目ID */
	projectId?: number
	/** 姓名 */
	athleteName?: string
}
